Identifiers for digital media

ABSTRACT

A computer-implemented method includes receiving a piece of content, wherein the piece of content comprises a machine-readable identifier, identifying the machine-readable identifier in the piece of content, and associating the machine-readable identifier to the piece of media content.

TECHNICAL FIELD

This disclosure relates to editing digital content, for example, digitalimages or videos.

BACKGROUND

Scenes in motion can be captured and recorded using a variety of devicesranging from state-of-the-art professional video cameras used intelevision and movie-making to simple cameras on cellular telephones.Some of the devices that can be used to capture motion pictures,including digital camcorders and digital cameras, allow storing thecaptured images in digital format including the moving picture expertsgroup. (MPEG) format. Depending on device capabilities and usersettings, a camera can capture and store both audio and video. Therecorded information is automatically stored in digital format and canbe easily transported to secondary devices including a hard disk of acomputer using various wired or wireless communications protocols suchas bluetooth or universal serial bus (USB).

Video editing software, such as iMovie HD 6.0.1, enables users toperform non-linear editing techniques on video footage. Such editing mayinclude cutting segments of the footage, re-arranging segments of thesame video clip, re-arranging and combining segments of multiple videoclips, and/or modifying the captured content by adding or substitutingother content including audio tracks, voice-overs, titles, andtransitions between frames.

SUMMARY

In one example, a user can associate an item of digital content with acorresponding machine-readable identifier while capturing the content.Subsequently, when all the captured items of content and theircorresponding machine-readable identifiers are uploaded to a system, thesystem can process each item of content based on the correspondingmachine-readable identifier.

In one aspect, a computer implemented method of processing digitalcontent is described. The method includes receiving an item of digitalcontent, the received item including at least one machine-readableidentifier that is embedded in and descriptive of the digital content,reading the machine-readable identifier embedded in the digital content,and processing the content in accordance with the one or morepredetermined criteria associated with the read machine-readableidentifier.

This, and other aspects, can include one or more of the followingfeatures. The method can further include generating the machine-readableidentifier, and providing the generated machine-readable identifier forincluding in an item of digital content. The item of digital content canbe a sequence of digital video frames. The reading can include scanningeach frame in the sequence of digital video frames, comparing an imageof the scanned frame with a stored image of the machine-readableidentifier, and upon detecting that the image of the scanned framematches the stored image, assigning the scanned image as themachine-readable identifier included in the item of digital content. Themachine-readable identifier can include at least one of a bar code, atext, an image, a number, and audio signal, and an alphanumericcharacter. The machine-readable identifier can be positioned at anyarbitrary point in the digital content. The processing can includearranging the item of digital content relative to other processed itemsof digital content. The processing can include storing the item ofdigital content in a repository. The processing can include editing theitem of digital content. The item of digital content can correspond to asection of a template. The machine-readable identifier embedded in theitem of digital content can correspond to the section of the template.The method can further include associating the item of digital contentto the section of the template to which the machine-readable identifiercorresponds.

In another aspect, a medium bearing instructions to enable one or moremachines to perform operations is described the operations includereceiving an item of digital content, the received item including atleast one machine-readable identifier that is embedded in anddescriptive of the digital content, reading the machine-readableidentifier embedded in the digital content, and processing the contentin accordance with the one or more predetermined criteria associatedwith the read machine-readable identifier.

This, and other aspects, can include one or more of the followingfeatures. The operations can further include generating themachine-readable identifier, and providing the generatedmachine-readable identifier for including in an item of digital content.The item of digital content can be a sequence of digital video frames.The reading can include scanning each frame in the sequence of digitalvideo frames, comparing an image of the scanned frame with a storedimage of the machine-readable identifier, and upon detecting that theimage of the scanned frame matches the stored image, assigning thescanned image as the machine-readable identifier included in the item ofdigital content. The machine-readable identifier can include at leastone of a bar code, a text, an image, a number, and audio signal, and analphanumeric character. The machine-readable identifier can bepositioned at any arbitrary point in the digital content. The processingcan include arranging the item of digital content relative to otherprocessed items of digital content. The processing can include storingthe item of digital content in a repository. The processing can includeediting the item of digital content. The item of digital content cancorrespond to a section of a template. The machine-readable identifierembedded in the item of digital content can correspond to the section ofthe template. The operations can further include associating the item ofdigital content to the section of the template to which themachine-readable identifier corresponds.

The systems and techniques described here can present one or more of thefollowing advantages. Placing machine-readable identifiers in recordeddigital content can enable easy identification of the content duringediting. Tagging the machine-readable identifiers with metadata canenable performing operations—such as grouping, editing, and the like—onall items of content corresponding to the same machine-readableidentifier. Presenting a user with a template that the user can use torecord content can assist an average user, who is unaware of the nuancesof story telling, and thus to record content that the user can later useduring editing to create a near-professional finished video. When thetemplates for story telling are created, the machine-readable identifierassociated with each section of the template can simplify the editingprocess after the content is recorded. These features can make usingsoftware for editing digital content simple to use for an average userwhile providing a near-professional quality to the finished content.

The details of one or more implementations are set forth in theaccompanying drawings and the description below. Other features andadvantages will be apparent from the description and drawings, and fromthe claims.

DESCRIPTION OF DRAWINGS

FIG. 1 is a schematic of an example of a system for associatingmachine-readable identifiers with items of digital content.

FIG. 2 is a schematic of a user interface displaying digital content ona display device.

FIG. 3 is a schematic of a user interface displaying digital content ona display device.

FIG. 4 is a schematic of an example of a computer system for processingdigital content with associated machine-readable identifiers.

FIG. 5 is a schematic of an example of a computer system includingtemplates.

FIG. 6 is a flow chart of an example of a process for associatingmachine-readable identifiers with items of content.

Like reference symbols in the various drawings indicate like elements.

DETAILED DESCRIPTION

FIG. 1 depicts a schematic of an example of a system 100 for associatingmachine-readable identifiers with items of digital content recordedusing any suitable recording instrument. The system 100 can include amachine-readable identifier 105, a content capturing instrument 110 withwhich both the machine-readable identifier 105 and digital content canbe recorded, and a computer system 115 for storing the machine-readableidentifier and the digital content. In some implementations, themachine-readable identifier 105 can be similar to a bar code where thearrangement of symbols (e.g., lines, circles, and the like) can beunique to each machine-readable identifier 105. The instrument 110 canbe virtually any device capable of recording digital content, e.g.,video cameras, digital cameras, cellular telephones, and the like. Thecomputer system 115 can be any suitable system (e.g., desktop computer,laptop computer, personal digital assistant (PDA), smartphone, workstation). Video editing software can be installed on the computer system115. Alternatively, the computer system 115 can receive the content fromthe instrument 110 and transmit the content to an external system onwhich the video editing software can be installed. In someimplementations, a user first records the machine-readable identifier105 using the instrument 110 and, subsequently, records items of digitalcontent. The digital content can include one or more of video, audio,and images. The user can upload the machine-readable identifier 105 andthe recorded items of digital content, captured using the instrument110, into a video editing software user interface (UI) installed on thecomputer system 115. The machine-readable identifiers 105 associatedwith each item of recorded content can enable a user and/or the computersystem 115 to perform operations on the recorded content such asidentification, grouping, viewing, editing, and the like.

FIG. 2 depicts a schematic of a UI 200 displaying digital content on thedisplay device 205 of the computer system 115. In some implementations,prior to recording video using the instrument 110, a machine-readableidentifier 210, e.g., a bar code, can be placed in the recorded footageand stored as one or more frames. For example, the user can record animage of the machine-readable identifier 210 by placing the image infront of the instrument 110 and recording the image. Subsequently, theuser can record video, which can be stored as a sequence of frames 215.Upon completing the sequence and prior to recording a new sequence, asecond machine-readable identifier 220 can be placed in the recordedfootage and stored as one or more frames. Then, the user can record thenew sequence of video frames 225. In this manner, the user can place amachine-readable identifier with each sequence of video frames, therebyassociating the machine-readable identifier to and enablingidentification of each sequence. In other implementations, the user canfirst record the video sequence and, subsequently, record themachine-readable identifier. This can enable identifying a sequenceafter the sequence has been recorded.

In some implementations, the user can create the machine-readableidentifier 105, e.g., by drawing the machine-readable identifier 105,e.g., on a sheet of paper, holding the machine-readable identifier 105up to the instrument 110 and recording the machine-readable identifier105. In other implementations, the video editing software, into whichthe recorded footage is uploaded, can present the user with one or moremachine-readable identifiers 105. The user can print themachine-readable identifiers 105 using, e.g., a printer, hold themachine-readable identifier 105 up to the instrument 110 and record themachine-readable identifier. Alternatively, the computer system 115, onwhich the video editing software is installed, can transmit themachine-readable identifiers 105 to the instrument 110. The instrument110 can include functionalities to place a machine-readable identifier105 with each sequence of video based on user input and interaction. Theinstrument 110 can include machine-readable identifiers which theinstrument 110 can place with the content automatically or based on userinput or both. The instrument 110 can transmit the machine-readableidentifiers to the computer system 115 when the recorded content istransferred to the computer system 115. In some implementations, thevideo editing software can be configured to recognize sequence of framesbased on start and stop points in the recorded video footage, when thefootage is uploaded into the UI 205 on the computer system 115. Uponrecognizing sequences of frames, the video editing software can beconfigured to place a machine-readable identifier 105 with each sequencebased on user input and interaction. The user input and interaction caninclude displaying a recommended machine-readable identifier to a userfor the user for user approval, associating the recommendedmachine-readable identifier to the sequence of frames upon receivingapproval, asking for a user defined machine-readable identifier, askingif no machine-readable identifier is required, and the like. In someimplementations, audio input sequences emitted by a device, e.g., thesound of numbers dialed on a phone, can be sent from the device to themachine. For example, the device can be held adjacent to the instrumentand the emitted sound can be recorded. The device can be configured toemit sounds that are unique so that each unique sound can be anidentifier. Subsequently, content, such as documents, e.g., a moviescript, can be associated with the audio sequences in the recordedsignal.

FIG. 3 depicts a schematic of a UI 200 displaying digital content on thedisplay device 205 of the computer system 115. In some implementations,the user can create machine-readable identifiers to group two or moresequences of related video frames. For example, the user can record afirst sequence of video frames as a first take, a second sequence ofvideo frames as a second take, and so on, where all the frames containthe same or similar content. Since each sequence of video frames relatesto the same or similar content, the machine-readable identifiersassociated with each sequence can include a common representation. InFIG. 3, the sequence of frames 315 and the sequence of frames 325 arerepresented by machine-readable identifiers 305 and 310, respectively.The machine-readable identifiers 305 and 310 share a commonrepresentation, except one of the circles in machine-readable identifier305 is filled, indicating a first take, while two of the circles inmachine-readable identifier 310 are filled, indicating a second take. Inthis manner, when a user records two or more sequences of the same orsimilar content, the user can associate machine-readable identifiersthat share a common representation, but are still distinguishable. Oncethe content with which machine-readable identifiers 305 and 310 arereceived, the computer system 115 can further be configured to recognizethat since the representations on machine-readable identifiers 305 and310 are similar, the content is related. The computer system 115 canfurther be configured to recognize that since one circle inmachine-readable identifier 305 is filled and two circles inmachine-readable identifier 310 are filled, the content with which thesemachine-readable identifiers are associated represent a first take and asecond take, respectively. The computer system 115 can group the contentaccordingly. In implementations where bar codes with filled circles areused, the computer system 115 can be configured to recognize the filledand unfilled circles based on image analysis techniques such as opticalcharacter recognition (OCR), difference in contrast levels, and thelike. In some implementations, the video editing software can berecognized by methods such as pattern recognition.

FIG. 4 depicts a schematic of an example of a computer system 115 forprocessing digital content with associated machine-readable identifiers.In some implementations, a user can record digital content, e.g.,sequences of video frames, using an instrument 110, e.g., a videocamera, a digital camera, a cellular telephone, and the like. Thecomputer system 115 can receive the recorded content from the instrument110 through an interface and store the content in the content repository410. In implementations where the content includes one or more sequencesof video frames, the user can associate a machine-readable identifier105 with each sequence. In some implementations, the user 405 can recordvideo content using the instrument 110, transfer the video content andthe associated machine-readable identifiers to the computer system 115,and view the content on the UI 200 on the display device 205 of thecomputer system 115. In some implementations, the user 405 can usestored machine-readable identifiers 415 provided by the video editingsoftware installed in the computer system 115 to associate to therecorded sequence of video frames. In other implementations, the user405 can create their own machine-readable identifiers 105. The user canplace the machine-readable identifiers 105 with the sequences of framesand store a copy of the created machine-readable identifiers 105 instored machine-readable identifiers 415. In such implementations, thecomputer system 115 can be configured to locate the machine-readableidentifiers 105 from among in the content repository 410, match thelocated machine-readable identifier 105 with the correspondingmachine-readable identifier 105 in the stored machine-readableidentifiers 105, and associate the machine-readable identifier in thestored machine-readable identifiers 415 with the sequence of frames inthe content repository 410 to which the machine-readable identifier 105was associated.

In some implementations, while editing the content stored in the contentrepository 410, the user 405 can associate metadata to themachine-readable identifiers 105 in stored machine-readable identifiers415. For example, if the user 405 records content for a week andassociates a machine-readable identifier 105 for each day of the week,the user 405 can associate the day of the week as the metadata for eachmachine-readable identifier 105. In some implementations, the user 405can retrieve each machine-readable identifier 105 in the storedmachine-readable identifiers 415 to associate the metadata. In otherimplementations, the user 405 can create machine-readable identifiers105 that include metadata in the representation. For example, amachine-readable identifier 105 can include the date, time, and locationof recording in the body of the machine-readable identifier 105 inaddition to the machine-readable identifier's unique representation.When the user 405 records the machine-readable identifier 105, thismetadata can also be recorded and placed along with the sequence offrames to which the machine-readable identifier 105 is associated. Thecomputer system 115 can be configured to recognize the metadata in thebody of the machine-readable identifier 105 by methods including OCR.Thus, the metadata associated with each machine-readable identifier 105can not only be associated with each machine-readable identifier 105 inthe stored machine-readable identifiers 415 but it can also be placed inthe body of the machine-readable identifier 105 and automaticallyrecognized by the computer system 115 during editing. Subsequent toediting, the content can be stored in edited content 420.

FIG. 5 depicts a schematic of an example of a computer system 115including templates 505 that can serve as suggestions to a user 405recording digital content. The templates 505 can present the user 405with suggestions based on which the user 405 can record digital content,e.g., video. Each template 505 can be related to a theme, e.g., awedding, a bachelor party, a soccer game, and the like. For example, ifthe user 405 wishes to record a soccer game, the user can select, e.g.,the soccer template. The soccer template can include one or moresections, each of which can be an event that frequently occurs in asoccer game. For example, the sections in the soccer template caninclude” “First half” “Half time,” Second half,” “Over time,” and thelike, that are events that will occur in a soccer game. In addition, thesoccer template can include sections such as “Warm up,” “Penalty shootout,” and the like, that may be events related to a soccer game, but mayor may not occur during the game. The video editing software can beconfigured to present the sections of the template 505 to a user,thereby providing the user with a story outline. The user can recordvideo based on the story outline, edit the item of content associatedwith each section of the template, and create a project that candescribe a soccer game as a story. In this manner, the video editingsoftware can be configured to assist an average user of a recordinginstrument, who may be unaware of the nuances of story telling, toconvert raw recorded footage into a project with a story line.

In some implementations, each section of each template 505 can include amachine-readable identifier 105. When the user 405 selects a theme, theuser can be presented with each section as well as the correspondingmachine-readable identifier 105 for the section. The machine-readableidentifiers 105 can be stored in the computer system 115 under storedmachine-readable identifiers 415. The user 405 can record content basedon the suggestions provided by each section of the template. Thesuggestions can be the title of each section. For example, the title ofa section can be “Warm up.” Alternatively, or in addition, thesuggestion can be a line of text displayed on each section, e.g.,“Record team warm up.” The machine-readable identifier 105 correspondingto a section can be automatically placed with the sequence of framesrecorded for the section. In some implementations, the user 405 cangenerate hard copies of the machine-readable identifiers and record therepresentation on the hard copies using the instrument 110 by, e.g.,positioning the hard copies in front of the instrument 110 and recordingthe machine-readable identifier 105 as one or more frames.Alternatively, the video editing software can be configured to transmitthe machine-readable identifiers to the instrument 110 and theinstrument 110 can be configured to place the machine-readableidentifier 105 with the section containing recorded content to which themachine-readable identifier 105 corresponds. In other implementations,the recorded content can be received from the instrument 110 via aninterface and stored in the content repository 410. The recorded contentcan include metadata that describes the section of the template to whichthe content is related. Upon receiving the metadata, the video editingsoftware can be configured to automatically associate themachine-readable identifiers 105, in stored machine-readable identifiers415, corresponding to each section to the content related to thesection.

In some implementations, templates can be pre-generated and included inthe video editing software. The themes of the pre-generated templatescan be frequently occurring events where recording instruments are used,e.g., a wedding, graduation, and the like. In addition to the sectionsincluded in each pre-determined template, a user can add their ownsection. For example, in the soccer game, the user can include one ormore sections titled “Pass before goal,” “The goal,” and the like. Theuser can create these sections prior to recording the content andinclude the created sections in the template 505. The video editingsoftware can be configured to generate a machine-readable identifier 105for each created section. When the user 405 records, in this example,the soccer game, the additional sections can be presented to the user405. If the user 405 relates the recorded content to the createdsection, then the generated machine-readable identifier 105 isassociated with the content of the new section. In this manner, usergenerated sections can be added to sections in the system generatedtemplates.

In other implementations, the user 405 can generate a template and allthe sections associated with the template. The user 405 can outline astory prior to recording any footage, create a section for each outline,and combine the sections as a template. The video editing software canbe configured to automatically create a machine-readable identifier 105for each user-created section and store the machine-readable identifiers105 in the stored machine-readable identifiers 415. Alternatively, inaddition to creating the sections, the user can also createmachine-readable identifiers for each section and store themachine-readable identifiers 105 in the stored machine-readableidentifiers 415. The user 405 can then record content based on theuser-created sections and the machine-readable identifiers 105, eithersystem generated or user-created, can be placed with the recordedcontent of each section.

FIG. 6 depicts a flow chart of an example of a process for associatingmachine-readable identifiers with items of content. A templatedescribing, e.g., a story line, that includes one or more sections, canbe created at 605. In some implementations, the story line can be guideto a user planning to record digital content, e.g., video, images, andthe like, at an event. The template can include one or more sections,where each section can refer to occurrences at the event at which theuser plans to record digital content. For example, if the user plans torecord a soccer game, the template can be the story outline of a soccergame, while each section can refer to events, e.g., first half, secondhalf, half time, and the like, that occur in a soccer game. In addition,the user can create sections and include the created sections in thetemplate.

A machine-readable identifier corresponding to each section can begenerated at 610. The machine-readable identifier can include a uniquerepresentation that corresponds to each section in the template. In someimplementations, the machine-readable identifier can be represented by abar code and can further include numbered circles. The machine-readableidentifier can be generated by a user, generated by a computer system,or both. The machine-readable identifiers can be provided for placementin content at 615. The machine-readable identifiers can be provided to auser or transmitted to a recording instrument or both. In someimplementations, the user can print one or more hard copies of eachmachine-readable identifier for placement in the content. In otherimplementations, the recording instrument, to which the machine-readableidentifiers are transmitted, can be configured to place themachine-readable identifiers with the content corresponding to asection. For example, penalty shootout can be a section of the soccergame template. The user can print a hard copy of the machine-readableidentifier that corresponds to the penalty shootout section of thesoccer game, position the machine-readable identifier in front of arecording instrument, e.g., a video camera, a digital camera, a cellulartelephone, and the like, record the machine-readable identifier and,subsequently, record the penalty shootout in the soccer game.Alternatively, upon receiving instructions from the user to record thepenalty shootout in the soccer game, the recording instrument can beconfigured to place the corresponding machine-readable identifier amongthe video frames of the related to the penalty shootout.

The user can record one or more items of content that includemachine-readable identifiers, which can be received at 620. In someimplementations, all the items of content, regardless of the presence orabsence of machine-readable identifiers, can be pulled from therecording instrument. In other implementations, select items of contentthat include machine-readable identifiers can be pushed eitherautomatically by the recording instrument or by the user or both. Themachine-readable identifiers in each item of content can be identifiedat 625. The machine-readable identifiers provided at 615 can be stored.In implementations where the content is video, each frame of each videofile can be scanned until the contents of a frame match that of themachine-readable identifier stored in memory. For example, amachine-readable identifier can be identified by matching the sequenceof bars on a recorded frame of video to the sequence of bars of a storedmachine-readable identifier. In some implementations, therepresentations on the machine-readable identifier can be recognized byrecognition techniques such as OCR. In some implementations, themachine-readable identifier can be identified by pattern recognitionanalyzed on a per-frame basis. Having identified the machine-readableidentifier in a item of content, the machine-readable identifier can beassociated with the item of content at 630. Since the machine-readableidentifier corresponds to a section of the template, the item of contentcan be associated with a section, and can be manipulated accordingly.The manipulations can include storing the item of content at a locationdesignated for the section, automatically playing the item of contentwhen a request to play content associated with a section is received,presenting, for editing, the content associated with a section, groupingall content related to a section, editing the content of a section, andthe like.

Implementations of the subject matter and the functional operationsdescribed in this specification can be implemented in digital electroniccircuitry, or in computer software, firmware, or hardware, including thestructures disclosed in this specification and their structuralequivalents, or in combinations of one or more of them. Implementationsof the subject matter described in this specification can be implementedas one or more computer program products, i.e., one or more modules ofcomputer program instructions encoded on a computer-readable medium forexecution by, or to control the operation of, data processing apparatus.The computer-readable medium can be a machine-readable storage device, amachine-readable storage substrate, a memory device, a composition ofmatter effecting a machine-readable propagated signal, or a combinationof one or more of them. The term “data processing apparatus” encompassesall apparatus, devices, and machines for processing data, including byway of example a programmable processor, a computer, or multipleprocessors or computers. The apparatus can include, in addition tohardware, code that creates an execution environment for the computerprogram in question, e.g., code that constitutes processor firmware, aprotocol stack, a database management system, an operating system, or acombination of one or more of them. A propagated signal is anartificially generated signal, e.g., a machine-generated electrical,optical, or electromagnetic signal, that is generated to encodeinformation for transmission to suitable receiver apparatus.

A computer program (also known as a program, software, softwareapplication, script, or code) can be written in any form of programminglanguage, including compiled or interpreted languages, and it can bedeployed in any form, including as a stand-alone program or as a module,component, subroutine, or other unit suitable for use in a computingenvironment. A computer program does not necessarily correspond to afile in a file system. A program can be stored in a portion of a filethat holds other programs or data (e.g., one or more scripts stored in amarkup language document), in a single file dedicated to the program inquestion, or in multiple coordinated files (e.g., files that store oneor more modules, sub-programs, or portions of code). A computer programcan be deployed to be executed on one computer or on multiple computersthat are located at one site or distributed across multiple sites andinterconnected by a communication network.

The processes and logic flows described in this specification can beperformed by one or more programmable processors executing one or morecomputer programs to perform functions by operating on input data andgenerating output. The processes and logic flows can also be performedby, and apparatus can also be implemented as, special purpose logiccircuitry, e.g., an FPGA (field programmable gate array) or an ASIC(application-specific integrated circuit).

Processors suitable for the execution of a computer program include, byway of example, both general and special purpose microprocessors, andany one or more processors of any kind of digital computer. Generally, aprocessor will receive instructions and data from a read-only memory ora random access memory or both. The essential elements of a computer area processor for performing instructions and one or more memory devicesfor storing instructions and data. Generally, a computer will alsoinclude, or be operatively coupled to receive data from or transfer datato, or both, one or more mass storage devices for storing data, e.g.,magnetic, magneto-optical disks, or optical disks. However, a computerneed not have such devices. Moreover, a computer can be embedded inanother device, e.g., a mobile telephone, a personal digital assistant(PDA), a mobile audio player, a Global Positioning System (GPS)receiver, to name just a few. Computer-readable media suitable forstoring computer program instructions and data include all forms ofnon-volatile memory, media and memory devices, including by way ofexample semiconductor memory devices, e.g., EPROM, EEPROM, and flashmemory devices; magnetic disks, e.g., internal hard disks or removabledisks; magneto-optical disks; and CD-ROM and DVD-ROM disks. Theprocessor and the memory can be supplemented by, or incorporated in,special purpose logic circuitry.

To provide for interaction with a user, implementations of the subjectmatter described in this specification can be implemented on a computerhaving a display device, e.g., a CRT (cathode ray tube) or LCD (liquidcrystal display) monitor, for displaying information to the user and akeyboard and a pointing device, e.g., a mouse or a trackball, by whichthe user can provide input to the computer. Other kinds of devices canbe used to provide for interaction with a user as well; for example,feedback provided to the user can be any form of sensory feedback, e.g.,visual feedback, auditory feedback, or tactile feedback; and input fromthe user can be received in any form, including acoustic, speech, ortactile input.

Implementations of the subject matter described in this specificationcan be implemented in a computing system that includes a back-endcomponent, e.g., as a data server, or that includes a middlewarecomponent, e.g., an application server, or that includes a front-endcomponent, e.g., a client computer having a graphical user interface ora Web browser through which a user can interact with an implementationof the subject matter described is this specification, or anycombination of one or more such back-end, middleware, or front-endcomponents. The components of the system can be interconnected by anyform or medium of digital data communication, e.g., a communicationnetwork. Examples of communication networks include a local area network(“LAN”) and a wide area network (“WAN”), e.g., the Internet.

The computing system can include clients and servers. A client andserver are generally remote from each other and typically interactthrough a communication network. The relationship of client and serverarises by virtue of computer programs running on the respectivecomputers and having a client-server relationship to each other.

While this specification contains many specifics, these should not beconstrued as limitations on the scope of the disclosure or of what maybe claimed, but rather as descriptions of features specific toparticular implementations of the disclosure. Certain features that aredescribed in this specification in the context of separateimplementations can also be implemented in combination in a singleimplementation. Conversely, various features that are described in thecontext of a single implementation can also be implemented in multipleimplementations separately or in any suitable subcombination. Moreover,although features may be described above as acting in certaincombinations and even initially claimed as such, one or more featuresfrom a claimed combination can in some cases be excised from thecombination, and the claimed combination may be directed to asubcombination or variation of a subcombination.

Similarly, while operations are depicted in the drawings in a particularorder, this should not be understood as requiring that such operationsbe performed in the particular order shown or in sequential order, orthat all illustrated operations be performed, to achieve desirableresults. In certain circumstances, multitasking and parallel processingmay be advantageous. Moreover, the separation of various systemcomponents in the implementations described above should not beunderstood as requiring such separation in all implementations, and itshould be understood that the described program components and systemscan generally be integrated together in a single software product orpackaged into multiple software products.

A number of implementations have been described. Nevertheless, it willbe understood that various modifications may be made without departingfrom the spirit and scope of the specification. For example, themachine-readable identifier can include virtually any distinguishablerepresentation such as numbers, letters, alphanumeric characters, spokenaudio, sounds, or any combinations of the same. In some implementations,a machine-readable identifier can be a sequence of two numbers, e.g.,“2.3”, where “2” refers to the section number and “3” refers to the takenumber. In some implementations, the video editing software can beconfigured to scan the contents of a series of frames, recognize thatthe series shares, e.g., a common background, and recommend to the userthat the series be grouped under one section. In some implementations,the machine-readable identifier of each section of a template can beassociated with metadata prior to providing the machine-readableidentifier for placement in content. The metadata associated with amachine-readable identifier can be used to manipulate the items ofcontent once the content is received. The metadata can be specified bythe user or the computer system or both.

In some implementations, the content can be images. For example, theuser can take a picture of a first machine-readable identifier, takepictures of desired images, take a picture of a second machine-readableidentifier, take more pictures, and so on. When the images are loadedinto the computer system, the system can scan the contents of each imageto identify each machine-readable identifier, group all images betweenthe first and second machine-readable identifier, and associate theimages with the first machine-readable identifier. Alternatively, thecomputer system can present to the user, the group of images, an imageof the machine-readable identifiers, and request the user to select amachine-readable identifier to which the group of images can beassociated. Once the images are associated with the machine-readableidentifier, the images can be manipulated as a group. Similarly, thecontent can also include audio files and virtually any type of digitalmedia.

In some implementations, the user can create machine-readableidentifiers for each section of each template. For example, if the userwishes to use a machine-readable identifier different from the onegenerated by the system, the user can create their own machine-readableidentifier and associate the user-created machine-readable identifierswith each section of the template. In some implementations, the user cancreate machine-readable identifiers, scan the machine-readableidentifiers to create digital images, e.g., using scanners, and uploadthe scanned images into the computer system for use as machine-readableidentifiers. In other implementations, the computer system can include acamera which the user can use to capture an image of the user-createdmachine-readable identifier and, subsequently, associate with eachsection of the template. In other implementations, a user can create amachine-readable identifier using any desired application, e.g., adrawing software, and import the drawing into the video editing softwarefor use as a machine-readable identifier. In some implementations, theuser can record the machine-readable identifier using the computersystem, record the content using the recording instrument, andsynchronize the recordings when the content from the recordinginstrument is received. In some implementations, a user viewing therecorded content, can view the machine-readable identifiers included inthe content, and perform editing operations, such as grouping contentbased on the machine-readable identifiers. In some implementations, auser can replace the groupings of the computer system with user-definedgroupings. Accordingly, other embodiments are within the scope of thefollowing claims.

1. A computer-implemented method of processing digital content, themethod comprising: receiving an item of digital content, the receiveditem including at least one machine-readable identifier that is embeddedin and descriptive of the digital content; reading the machine-readableidentifier embedded in the digital content; and processing the contentin accordance with one or more predetermined criteria associated withthe read machine-readable identifier.
 2. The method of claim 1 furthercomprising: generating the machine-readable identifier; and providingthe generated machine-readable identifier for including in an item ofdigital content.
 3. The method of claim 1, wherein the item of digitalcontent is a sequence of digital video frames.
 4. The method of claim 3,wherein the reading comprises: scanning each frame in the sequence ofdigital video frames; comparing an image of the scanned frame with astored image of the machine-readable identifier; and upon detecting thatthe image of the scanned frame matches the stored image, assigning thescanned image as the machine-readable identifier included in the item ofdigital content.
 5. The method of claim 1, wherein the machine-readableidentifier includes at least one of a bar code, a text, a number, animage, an audio signal, and an alphanumeric character.
 6. The method ofclaim 1, wherein the machine-readable identifier is positioned at anarbitrary point in the digital content.
 7. The method of claim 1,wherein the processing includes arranging the item of digital contentrelative to other processed items of digital content.
 8. The method ofclaim 1, wherein the processing includes storing the item of digitalcontent in a repository.
 9. The method of claim 1, wherein theprocessing includes editing the item of digital content.
 10. The methodof claim 1, wherein the item of digital content corresponds to a sectionof a template.
 11. The method of claim 10, wherein the machine-readableidentifier embedded in the item of digital content corresponds to thesection of the template.
 12. The method of claim 11, further comprisingassociating the item of digital content to the section of the templateto which the machine-readable identifier corresponds.
 13. A mediumbearing instructions to enable one or more machines to performoperations comprising: receiving an item of digital content, thereceived item including at least one machine-readable identifier that isembedded in and descriptive of the digital content; reading themachine-readable identifier embedded in the digital content; andprocessing the content in accordance with one or more pre-determinedcriteria associated with the read machine-readable identifier.
 14. Themedium of claim 13 further comprising: generating the machine-readableidentifier; and providing the generated machine-readable identifier forincluding in an item of digital content.
 15. The medium of claim 13wherein the item of digital content is a sequence of digital videoframes.
 16. The medium of claim 15, wherein the reading comprises:scanning each frame in the sequence of digital video frames; comparingan image of the scanned frame with a stored image of themachine-readable identifier; and upon detecting that the image of thescanned frame matches the stored image, assigning the scanned image asthe machine-readable identifier included in the item of digital content.17. The medium of claim 16, wherein the machine-readable identifierincludes at least one of a bar code, a text, a number, an image, anaudio signal, and an alphanumeric character.
 18. The medium of claim 13,wherein the machine-readable identifier is positioned at an arbitrarypoint in the digital content.
 19. The medium of claim 13, wherein theprocessing includes arranging the item of digital content relative toother processed items of digital content.
 20. The medium of claim 13,wherein the processing includes storing the item of digital content in arepository.
 21. The medium of claim 13, wherein the processing includesediting the item of digital content.
 22. The medium of claim 13, whereinthe item of digital content corresponds to a section of a template. 23.The medium of claim 22, wherein the machine-readable identifier embeddedin the item of digital content corresponds to the section of thetemplate.
 24. The medium of claim 23, further comprising associating theitem of digital content to the section of the template to which themachine-readable identifier corresponds.